<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    // 功能，参数，返回值，是否改变原数据

    // var arr = ["hello",4,5,6,"world"];
    // console.log(arr)

    // arr.push();
    // 功能：最后新增
    // 参数：要新增的数据
    // 返回值：增加数据之后的数组的长度
    // 是否改变原数据：是
    // var res = arr.push("hahaha",242)
    // console.log(res);

    // arr.unshift()
    // 开头新增
    // 要新增的数据
    // 增加数据之后的数组的长度
    // 是
    // var res = arr.unshift("hahaha",242)
    // console.log(res);

    // arr.pop()
    // 删除最后
    // 无
    // 删除的数据
    // 是
    // var res = arr.pop()
    // console.log(res);

    // arr.shift()
    // 删除开头
    // 无
    // 删除的数据
    // 是
    // var res = arr.shift()
    // console.log(res);

    // arr.splice()
    // 删除指定，并替换
    // 参数1：开始删除的位置；参数2：要删除的个数；参数3~：要插入到删除位置的数据
    // 删除了的数据，数组的形式
    // 是
    // var res = arr.splice(2);
    // var res = arr.splice(2, 2);
    // var res = arr.splice(2, 2, "abc","qwe");
    // var res = arr.splice(2, 0, "哈哈哈");
    // console.log(res);


    // arr.slice()
    // 截取
    // 参数1：开始截取的位置；参数2：截取到指定位置的前一个
    // 截取出来的新数组
    // 否
    // var res = arr.slice(2);
    // var res = arr.slice(2, 4);
    // console.log(res);



    var arr = [4,7,28,156,8,5,6,"1"];
    console.log(arr);

    // arr.sort()
    // 排序：默认字符的排序规则，如果有参数，是函数，函数返回了两个形参的差，此时的比较规则为数值
    // 情况1：无参数；情况2：函数，这个函数又有两个形参，该函数必须返回两个形参的差
    // 排序之后的原数组
    // 是
    // var res = arr.sort();
    var res = arr.sort(function(a, b){
        return a-b;
    });
    console.log(res);

    console.log(res === arr);


    console.log(arr);
</script>
</html>